package com.rent.common.annotation;

import java.lang.annotation.*;

/**
 * @Author zhang
 * @Create 2022/4/14 11:55
 */
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AvoidRepeatableCommit {

    /**
     * 是否启用 防重复提交
     *
     * @return 是否启用
     */
    boolean enabled() default true;

    /**
     * 指定时间内不可重复提交,单位毫秒
     *
     * @return 时间毫秒 默认30秒
     */
    long timeout() default 30000;

    /**
     * 防止重复的描述， 支持spring 的 SpEL 表达式。
     *
     * @return {String}
     */
    String value() default "请勿重复提交,请在30秒后重试";
}
